from loguru import logger
import sys

logger.remove() # 清空默认的处理器

class TinyLogger:
    """Logger 工具的封装
    """
    log_handlers_ids = [] # logger 处理器

    def __init__(self, level = "INFO"):
        self.__reset_log_level(level)

    def __reset_log_level(self, level):
        """ 动态设置 loguru 的日志级别

        level: DEBUG, INFO, WARN, ERROR, FATAL
        """
        # 移除所有已有的处理器
        for handler_id in self.log_handlers_ids:
            logger.remove(handler_id)
        
        # 清空 handlers_ids 列表，准备添加新的处理器
        self.log_handlers_ids.clear()
        
        # 根据新的日志级别重新添加处理器
        self.log_handlers_ids.append(logger.add(sys.stdout, level=level))
